// function testable(isTestable: boolean) {
//     return function testable(target: any) {
//         target.isTestable = isTestable;
//     }
// }
// function log(target: object) {
//     console.log(target);
// }

// @log
// @testable(true)
// class MyTestableClass {}
// new MyTestableClass();
// console.log(MyTestableClass.isTestable) // true

// @testable(false)
// class MyClass {}
// new MyClass();
// console.log(MyClass.isTestable) // false
// // let a: object = { "jikj": "uijkuhi" };
// // console.log(a);

// @testable
// class AA {
//     static isTestable: boolean
// }

// function testable<T extends { new(...args: any[]): {}, isTestable: boolean }>(target: T) {
//     target.isTestable = true;
// }

// console.log(AA.isTestable)